package com.hhs.storage.bean;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * </p>
 *
 * @author chx
 * @since 2025-03-17
 */

@Data
@ToString
public class ZrSimulate implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 模拟表id
     */
    private String id;

    /**
     * 项目id
     */
    private String projectId;

    @TableField(exist = false)
    private ProjectPlan projectPlan;
    /**
     * 工序id
     */
    private String flowId;

    @TableField(exist = false)
    private ProjectWorkFlow projectWorkFlow;
    /**
     * 会签用户id
     */
    private String userId;
    /**
     * 会签用户对象名
     */
    @TableField(exist = false)
    private String name;
    /**
     * 会签用户部门
     */
    @TableField(exist = false)
    private String departNames;
    /**
     * 意见
     */
    private String remark;

    /**
     * 0未审核 1通过 2不通过
     */
    private Integer status;
    /**
     * 步聚，flow_id为空时起效
     */
    private Integer step;
    /**
     * 角色id，flow_id为空时起效
     */
    private String roleId;
    /**
     * 0非当前流程，1当前流程，flow_id为空时起效
     */
    private Integer isCurrent;
    /**
     * 邀请时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime yqTime;

    /**
     * 审核时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime opTime;

    /**
     * 待办类型：0.模拟 1.
     */
    @TableField(exist = false)
    private int simulateType=0;
    /**
     * 审批人,结果list
     */
    @TableField(exist = false)
    private List<ZrSimulateFlowResult> spUsers=new ArrayList<>();
}
